Skip to content

Latest commit

 

History

History
255 lines (186 loc) · 14.4 KB

CHANGELOG.md

File metadata and controls

255 lines (186 loc) · 14.4 KB

Changelog

All notable changes to this project will be documented in this file.

[0.13.5-newapi] - 2024-04-30

🚜 Refactor

  • [BREAKING] Significant refactoring was done to fix memory leaks (#98)

[0.13.2] - 2023-11-15

🐛 Bug Fixes

  • Fix the static build to link against zstd (#91)

[0.13.1] - 2023-11-14

  • Update the wat dep. This update is to fix #88.

[0.13.0] - 2023-11-07

⛰️ Features

  • New API PluginManager::nn_preload. This API is used to initialize the wasi_nn plug-in with given preloads (#74)

  • Implement FromStr trait for NNPreload struct (#81)

🚜 Refactor

  • [BREAKING] Update the argument types (#82):

    • VmBuilder::with_plugin
    • VmBuilder::with_plugin_wasi_nn
    • VmBuilder::with_plugin_wasi_crypto
    • VmBuilder::with_plugin_wasmedge_process
  • [BREAKING] Update the argument types (#76):

    • Executor::run_func_with_timeout and Executor::run_func_async_with_timeout
    • Vm::run_func_with_timeout and Vm::run_func_async_with_timeout
    • Func::run_with_timeout and Func::run_async_with_timeout

🐛 Bug Fixes

  • Introduce new C-API WasmEdge_FunctionInstanceGetData to fix the memory leak issue caused by host data (#84)

Ci

  • Support macos-13 and remove macos-11 from the ci-build and standalone workflows (#84)

[0.12.2] - 2023-09-22

🚜 Refactor

  • Disable timeout related APIs for the musl environment (#71)

[0.12.1] - 2023-09-14

🐛 Bug Fixes

  • (wasmedge-sys) Update the sha256sum of WasmEdge 0.13.4 (#66)

[0.12.0] - 2023-09-10

⛰️ Features

  • New timeout APIs (#61)
    • Add Vm::run_func_with_timeout and Vm::run_func_async_with_timeout. These APIs are used to run a host function with a timeout
    • Add Executor::run_func_with_timeout and Executor::run_func_async_with_timeout. These APIs are used to run a host function with a timeout
    • Add Func::run_with_timeout and Func::run_async_with_timeout. These APIs are used to run a host function with a timeout
  • New API Store::register_plugin_module. This API is used to register a `PluginInstance`` into a store instance (#53)
  • New type alias PluginInstance (#53)

🚜 Refactor

  • [BREAKING] Merge async mod into wasi mod (#55)
  • [BREAKING] Update the return type of PluginManager::find from Option<Plugin> to WasmEdgeResult<Plugin> (#53)
  • [BREAKING] Update the return type of Plugin::mod_instance from Option<Instance> to WasmEdgeResult<PluginInstance> (#53)

📚 Documentation

  • Update WasmEdge RustSDK API Document (#55)

[0.11.2] - 2023-08-07

⛰️ Features

  • New API WasiContext::generate. This API provides more flexible argument types than the existed WasiContext::new (#49)

🚜 Refactor

  • Improve host_function and async_host_function proc-macros (#49)
  • Improve build script (#48)
    • Options to specify the type of linking required for the different dependencies using environment variables.
    • Adds an option to use an external rust-bindgen using environment variables.
    • Adds support for musl libc

📚 Documentation

  • Update README.md (#50)
  • Update Rust SDK API Document (#50)

Ci

  • Disable the publish of the async API document (#50)

[0.11.0] - 2023-07-31

⛰️ Features

  • Add Func::wrap_async_func_with_type (#43)
  • Add WasiInstance::exit_code in async mod (#43)
  • Add WasiInstance::name in wasi mod (#42)
  • Add WasiContext (#39)
  • Add VmBuilder::with_wasi_context (#39)

🚜 Refactor

  • [BREAKING] Update Func::new
    • Rename Func::new to Func::wrap_with_type (#43)
    • Change the type of the data argument to Option<Box<T>> (#39)
  • [BREAKING] Update Func::wrap_func
    • Rename Func::wrap_func to Func::wrap (#43)
    • The type of the data argument is changed to Option<Box<T>> (#39)
  • [BREAKING] Update async WasiInstance
    • Move WasiInstance for async scenarios from wasi mod to async mod (#39)
    • Remove the implementation of AsInstance trait for WasiInstance defined in async mod (#39)
    • Remove WasiInstance::initialize defined in async mod (#39)
  • [BREAKING] Update WasiInstance
    • Remove the implementation of AsInstance trait for WasiInstance defined in wasi mod (#42)
  • [BREAKING] Move AsyncState into async mod (#39)
  • [BREAKING] Remove HostFn<T> and AsyncHostFn<T> (#39)
  • [BREAKING] Update ImportObjectBuilder
    • Add ?Size and Clone trait bounds on generic type of ImportObjectBuilder::build (#41)
    • Change the type of the data argument of ImportObjectBuilder::with_func to Option<Box<D>> (#39)
    • Change the type of the data argument of ImportObjectBuilder::with_func_by_type to Option<Box<D>> (#39)
  • [BREAKING] Update ImportObject
    • Add generic type to ImportObject (#41)
    • Rename as_raw_ptr to as_ptr (#41)
  • [BREAKING] Update PluginModuleBuilder
    • Change the type of the data argument of PluginModuleBuilder::with_func to Option<Box<D>> (#39)
    • Add ?Sized trait bound on the generic type of PluginModuleBuilder<T> (#42)
    • Update PluginModuleBuilder::build (#42)
  • [BREAKING] Update PluginModule (#42)
  • [BREAKING] Add generic type to Store::register_import_module (#41)
  • [BREAKING] Update async_host_function proc-macro (#43)
  • Update Vm
    • Remove imports field from Vm (#41)
    • [BREAKING] Update the signature of Vm::register_import_module (#41)
    • Update Vm::build for async scenarios (#42)
    • Enable Vm::wasi_module and Vm::wasi_module_mut for async scenarios (#43)
  • Update VmBuilder::build (#39)
  • Improve the standalone deployment mode (#40)

📚 Documentation

  • Update README.md (#43)
  • Update Rust SDK API Document (#44)

Ci

  • Add steps for publishing async API document in release-wasmedge-sdk workflow (#44)

[0.10.0] - 2023-07-21

⛰️ Features

  • Support closures in Func and ImportObjectBuilder (#20)

    • [BREAKING] Update Func::new method
    • [BREAKING] Update Func::wrap_func method
    • [BREAKING] Update Func::wrap_async_func method
    • [BREAKING] Update ImportObjectBuilder::with_func method
    • [BREAKING] Update ImportObjectBuilder::with_func_by_type method
    • [BREAKING] Update ImportObjectBuilder::with_async_func method
  • Support host_data in ImportObjectBuilder::with_async_func and ImportObjectBuilder::build methods (#21)

  • Support standalone static libraries (#22 #24)

🚜 Refactor

  • [BREAKING] Rename Func::wrap to Func::wrap_func (#20)
  • [BREAKING] Rename Func::wrap_async to Func::wrap_async_func (#20)
  • [BREAKING] Rename ImportObjectBuilder::with_func_async to ImportObjectBuilder::with_async_func (#20)
  • Remove the host_data field in ImportObjectBuilder (#21)
    • [BREAKING] Update ImportObjectBuilder::with_async_func method
  • Remove the generic type in ImportObject (#21)
    • [BREAKING] Update VmBuilder::build method
    • [BREAKING] Remove the generic type in Vm

📚 Documentation

  • Update README and rustdoc (#28)

[0.9.0] - 2023-06-30

⛰️ Features

  • Introduce NeverType type (WasmEdge #2497)
    • [BREAKING] Update Func::new method
    • [BREAKING] Update Func::wrap method
    • [BREAKING] Update ImportObjectBuilder::with_func method
    • [BREAKING] Update ImportObjectBuilder::with_func_by_type method
  • Support async wasi (WasmEdge #2528)
    • [BREAKING] Update Executor::run_func_async method
    • [BREAKING] Update Executor::run_func_ref_async method
    • [BREAKING] Update Func::run_async method
    • [BREAKING] Update FuncRef::run_async method
    • [BREAKING] Update ImportObjectBuilder::with_func_async method
    • [BREAKING] Update Vm::run_func_async method
    • [BREAKING] Update Vm::run_func_from_module_async method
    • [BREAKING] Update Vm::run_func_from_file_async method
    • [BREAKING] Update Vm::run_func_from_bytes_async method
  • Migrate WasmEdge Rust SDK into WasmEdge/wasmedge-rust-sdk (#1)
  • Migrate async-wasi into Rust SDK (#2)
  • Implement a separate VmBuilder::build method for async cases (#3)
  • Support new WasmEdge C-API: WasmEdge_Driver_UniTool (#6)
  • Support new C-APIs: WasmEdge_ModuleInstanceCreateWithData and WasmEdge_ModuleInstanceGetHostData (#13)
    • [BREAKING] Update VmDock type
    • [BREAKING] Update Param::settle method
    • [BREAKING] Update Param::allocate method
    • [BREAKING] Update ImportObjectBuilder type
    • [BREAKING] Update ImportObjectBuilder::with_func method
    • [BREAKING] Update ImportObjectBuilder::with_func_by_type method
    • [BREAKING] Update ImportObjectBuilder::with_global method
    • [BREAKING] Update ImportObjectBuilder::with_memory method
    • [BREAKING] Update ImportObjectBuilder::with_table method
    • [BREAKING] Update ImportObjectBuilder::build method
    • [BREAKING] Update ImportObject type
    • [BREAKING] Update Store::register_import_module method
    • [BREAKING] Update VmBuilder::build method
    • [BREAKING] Update Vm type
    • [BREAKING] Update Vm::register_import_module method
  • Implement PluginModule and PluginModuleBuilder (#14)
    • [BREAKING] Update ImportObjectBuilder::with_func method
    • [BREAKING] Update ImportObjectBuilder::with_func_by_type method
    • [BREAKING] Update ImportObjectBuilder::with_func_async method
    • [BREAKING] Update ImportObjectBuilder::with_host_data method

📚 Documentation

  • Update README (#7)

⚙️ Miscellaneous Tasks

  • Remove the deprecated examples (#4)
  • Remove the deprecated examples (#8)
  • Release preparation: bump versions and update docs (#15)
  • Update documentation url (#17)

Ci

  • Update the release workflows (#5)
  • Add standlone workflow (#9)
  • Support macOS and Fedora in the standalone workflow (#11)
  • Update the release-async-wasi workflow (#16)